<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>layuiAdmin 后台管理员</title>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
  <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
</head>
<body>

  <div class="layui-fluid">   
    <div class="layui-card">
      <div class="layui-form layui-card-header layuiadmin-card-header-auto">
        <div class="layui-form-item">
          <div class="layui-inline">
            <label class="layui-form-label">登录名</label>
            <div class="layui-input-block">
              <input type="text" name="loginname" placeholder="请输入" autocomplete="off" class="layui-input">
            </div>
          </div>
          <div class="layui-inline">
            <label class="layui-form-label">姓名</label>
            <div class="layui-input-block">
              <input type="text" name="username" placeholder="请输入" autocomplete="off" class="layui-input">
            </div>
          </div>
          <div class="layui-inline">
            <label class="layui-form-label">角色</label>
            <div class="layui-input-block">
              <select name="role">
                <option value="">请选择</option>
                <c:forEach var="role" items="${roleList}">
                  <option value="${role.roleId}">${role.roleName}</option>
                </c:forEach>
              </select>
            </div>
          </div>
          <div class="layui-inline">
            <button class="layui-btn layuiadmin-btn-admin" lay-submit lay-filter="LAY-user-back-search">
              <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
            </button>
          </div>
        </div>
      </div>
      
      <div class="layui-card-body">
        <div style="padding-bottom: 10px;">
          <button class="layui-btn layuiadmin-btn-admin" data-type="batchdel">删除</button>
          <button class="layui-btn layuiadmin-btn-admin" data-type="add">添加</button>
          <button class="layui-btn layuiadmin-btn-admin" data-type="batchout">导出选中</button>
          <button class="layui-btn layuiadmin-btn-admin" id="excelinput">导入Excel</button>
        </div>
        
        <table id="LAY-user-back-manage" lay-filter="LAY-user-back-manage"></table>


        <script type="text/html" id="buttonTpl">
<%--          {{#  if(d.userEnable == 0){ }}--%>
<%--            <button class="layui-btn layui-btn-xs">启用</button>--%>
<%--          {{#  } else { }}--%>
<%--            <button class="layui-btn layui-btn-primary layui-btn-xs">禁用</button>--%>
<%--          {{#  } }}--%>
          <input type="checkbox" name="sex" value="{{d.userId}}" lay-skin="switch" lay-text="启用|禁用" lay-filter="sexDemo" {{ d.userEnable == 0 ? 'checked' : '' }}>
        </script>

        <script type="text/html" id="roleTpl">
                    {{#  if(d.role == null){ }}
                      无角色信息
                    {{#  } else { }}
                      {{d.role.roleName}}
                    {{#  } }}
        </script>


        <script type="text/html" id="table-useradmin-admin">
          <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
          {{#  if(d.role == '超级管理员'){ }}
            <a class="layui-btn layui-btn-disabled layui-btn-xs"><i class="layui-icon layui-icon-delete"></i>删除</a>
          {{#  } else { }}
            <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
          {{#  } }}
        </script>


      </div>
    </div>
  </div>

 <script src="/layuiadmin/layui/layui.js"></script>  
  <script>
  layui.config({
    base: '/layuiadmin/' //静态资源所在路径
  }).extend({
    index: 'lib/index' //主入口模块
  }).use(['index', 'useradmin', 'table','upload'], function(){
    var $ = layui.$
    ,form = layui.form
    ,admin = layui.admin
    ,table = layui.table
    ,upload = layui.upload;

    //导入excel
    upload.render({
      elem: '#excelinput'
      ,url: '/excelinput' //改成您自己的上传接口
      ,accept: 'file' //普通文件
      ,done: function(res){
        layer.msg('上传成功');
        console.log(res);
      }
    });

    //监听性别操作
    form.on('switch(sexDemo)', function(obj){
      let userId = this.value;
      let enbale = obj.elem.checked?0:1;
      //将内容修改到数据库中
      $.ajax({
        type:"post",
        url:"/user",
        data:"method=updateEnable&userId="+userId+"&enable="+enbale,
        dataType:"json",//制定服务器预期返回的数据类型为JSON
        success:function (res) {
          //将json字符串转换为对象
          //eval("res="+res);
          if(res.code == "0"){
            layer.tips("修改成功", obj.othis);
          }else{
            layer.tips("修改失败，请重试", obj.othis);
          }
        }
      })
    });

    //监听搜索
    form.on('submit(LAY-user-back-search)', function(data){
      var field = data.field;

      //执行重载
      table.reload('LAY-user-back-manage', {
        where: field
      });
    });
  
    //事件
    var active = {
      batchdel: function(){
        var checkStatus = table.checkStatus('LAY-user-back-manage')
        ,checkData = checkStatus.data; //得到选中的数据

        if(checkData.length === 0){
          return layer.msg('请选择数据');
        }
        let ids = [];
        //将所有的选中的获取到ID
        for (let i = 0; i < checkData.length; i++) {
            let data = checkData[i];
            ids.push(data.userId);
        }

        layer.confirm('确定删除吗？', function(index) {
          //执行 Ajax 后重载
          admin.req({
            url: '/user',
            type:'post',
            data:"method=delete&ids="+ids,
            done:function (res) {
              //如果执行done则说明res.code == 0
              table.reload('LAY-user-back-manage');
              layer.msg('已删除');
            }
            //,……
          });
        });
      },
      batchout: function(){
        var checkStatus = table.checkStatus('LAY-user-back-manage')
                ,checkData = checkStatus.data; //得到选中的数据

        if(checkData.length === 0){
          return layer.msg('请选择数据');
        }
        let ids = [];
        //将所有的选中的获取到ID
        for (let i = 0; i < checkData.length; i++) {
          let data = checkData[i];
          ids.push(data.userId);
        }

        layer.confirm('确定导出选中的数据？', function(index) {
          location.href="/user?method=outExcel&ids="+ids;
          layer.close(index); //关闭弹层
        });
      }
      ,add: function(){
        layer.open({
          type: 2
          ,title: '添加用户'
          ,content: '/user?method=addform'
          ,area: ['420px', '420px']
          ,btn: ['确定', '取消']
          ,yes: function(index, layero){
            var iframeWindow = window['layui-layer-iframe'+ index]
            ,submitID = 'LAY-user-back-submit'
            ,submit = layero.find('iframe').contents().find('#'+ submitID);

            //监听提交
            iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
              var field = data.field; //获取提交的字段

              admin.req({
                url: '/user?method=add',
                type:'post',
                data: field,
                done:function (res) {
                  table.reload('LAY-user-back-manage');
                  layer.msg('已添加');
                  layer.close(index); //关闭弹层
                }
              });
            });
            
            submit.trigger('click');
          }
        }); 
      }
    }  
    $('.layui-btn.layuiadmin-btn-admin').on('click', function(){
      var type = $(this).data('type');
      active[type] ? active[type].call(this) : '';
    });
  });
  </script>
</body>
</html>

